package models

//群组成员类型（成员类型：0 用户；1 机器人；2 超级管理员；3 管理员；4 客服；5 FAE；）
type UserType int8

const (
	USER         UserType = iota //用户 0
	ROBOT                        //机器人 1
	ADMIN                        //超级管理员 2
	GENERALADMIN                 //管理员 3
	CUSTOMER                     //客服人员 4
	FAE                          //FAE 5
)

// WkbGroupMember 群组成员
type WkbGroupMember struct {
	Model
	GroupID    string   `gorm:"index:group_id;column:group_id;type:varchar(128);not null" json:"group_id"` // 用户雪花ID，采用雪花算法
	WkbGroup   WkbGroup `gorm:"association_foreignkey:group_id;foreignkey:group_id" json:"wkb_group_list"` // 群聊
	MemberName string   `gorm:"column:member_name;type:varchar(128);not null" json:"member_name"`          // 群成员昵称
	MemberType int      `gorm:"column:member_type;type:tinyint(4)" json:"member_type"`                     // 成员类型,0用户,1机器人,2管理员,3客服,4FAE
	Avatar     string   `gorm:"column:avatar;type:varchar(512)" json:"avatar"`                             // 头像
	UserID     int      `gorm:"column:user_id;type:int(11) unsigned" json:"user_id"`                       // 用户id
}

func (w *WkbGroupMember) TableName() string {
	return "wkb_im_group_member"
}
